Optical data capture of exercise data in furtherance of a health score computation

ABSTRACT

A computer implemented method for managing health-related data captures an image from a display of an exercise machine using a camera, has the images processed to extract the text data from the captured images, and analyzes the text data to identify information relating to extrinsic physical activity performed by a person at the exercise machine. The results are stored in memory and a profile specific to the person is updated. The profile comprises a log of past exercise activity that allows the person to track his or her activity and progress and overall health. The profile can be accessed by the person through a portal such as using a smart phone or a computer program or web browser. The results can be combined with other data to arrive at a health score which can be published through the portal while personal data remains masked from public inspection.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/193,976, filed Jun. 27, 2016, issued as U.S. Pat No.10,546,103, which is a continuation of U.S. patent application Ser. No.13/423,051, filed Mar. 16, 2012, issued as U.S. Pat. No. 9,378,336,which claims priority to and the benefit of U.S. Patent Application No.61/486,658, filed May 16, 2011, each of which is incorporated byreference as if expressly set forth in its respective entirety herein.

FIELD OF THE INVENTION

The present invention concerns a device for tracking a route anddetermining energy expenditure of a person along that route. Moreparticularly, the invention concerns a device that collects informationabout a person, details of the exercise event, and horizontal andvertical distance data of a route to calculate energy expenditure of aperson traveling along the route.

BACKGROUND OF THE INVENTION

As a person engages in exercise activity, it is useful to the person tobe able to know how much energy the person exerted during that activity.Typically, exercise equipment in gyms, such as treadmills and stationarybikes, is capable of calculating and presenting the energy expended bythe person during the exercise activity in the form of calories burneddata. The user only needs to enter their weight information for themachine to estimate the calories burnt. However, these machines operatein a controlled environment. The type of activity that can be performedon the machine (biking or running) is dictated by the type of machine(bike or treadmill). The speed and elevation (angle of treadmill orresistance on bike) is controlled by the machine and thus known by themachine. Moreover, the “terrain” is uniform on these machines becausethe exercise surfaces do not change (the walking surface of thetreadmill does not change to sand). Thus, it is relatively easy forthese machines to calculate the energy expended in these controlledenvironments. These machines are well suited to report exerciseinformation pertaining to the user however, one drawback is that theinformation is transient. The information is displayed by the machinefor a short while, and in most instances personal logging of informationis only possible on a single machine. In more advanced systems at gyms,there can be a logging system that can capture workout informationacross multiple machines at the gym, however this system is limited tothat particular gym location or chain of gyms. It is desirable to beable to log workouts across a variety of machines and in a multitude oflocations such as at home or at the gym or while on vacation.

Many people desire exercise outdoors and do not want to be confined to amachine in a gym. Outdoor exercising is fraught with many variables,such as changes in terrain. Moreover, the distance traveled, the speed,and the changes of elevation are not controlled by a machine. Thispresents a layer of difficulty in determining the energy expended on anoutdoor exercise route because these parameters must be measured. Withthe proliferation of smart, mobile electronic devices, such as smartphones, measuring these parameters has become easier. Smart phonestypically have the ability to determine position using GPS modules.Software applications that use the GPS feature of the phones cancalculate distance traveled and speed during an exercise route. Thesoftware applications can also use the GPS feature to calculate thechanges in elevation during the exercise route. If the user enters hisor her weight, the software applications can calculate the caloriesburned during the exercise route.

These existing applications have several drawbacks, however. Forexample, these systems rely upon GPS to determine changes in elevation.While GPS can determine latitude and longitude relatively accurately,GPS systems are less accurate at calculating elevation. Accordingly,systems that rely upon GPS to determine elevation changes during theexercise route, which is in turn used to calculate calories burned,suffer from accuracy issues. Moreover, these systems are limited to aparticular activity, such as running. These systems cannot be used fordifferent activities, such as running, biking, skiing, etc. Thesesystems are also limited in the information about the activity that isconsidered which can greatly affect the energy expenditure calculations.

The present invention addresses these and other problems.

DESCRIPTION OF THE DRAWING FIGURES

FIG. 1A illustrates an exemplary diagram of a mobile electronic devicein wireless communication;

FIG. 1B is a block diagram illustrating certain components of the mobileelectronic device and a remote server;

FIG. 1C is an exemplary diagram of a system for managing health relateddata;

FIG. 2 is a flowchart illustrating a process of calculating energyexpenditure;

FIG. 3 is a flowchart illustrating a computer implemented method formanaging health related data;

FIG. 4 is a schematic block diagram of a local health informationcollection and communication system according to a first implementationof the invention;

FIG. 4A is a network diagram according to another implementation of theinvention;

FIG. 5 is a schematic flow diagram according to one embodiment of theinvention;

FIGS. 6a-6e are screen shots of a user interface according to oneembodiment of the invention;

FIG. 6f is an illustration of progressions over time of parameters usedto determine the health score in one embodiment of the invention;

FIG. 7a is an illustration of a data presentation format according toone embodiment of the invention;

FIG. 7b is an illustration of a data presentation format according toone embodiment of the invention;

FIG. 7c is an illustration of a data presentation format according toone embodiment of the invention; and

FIG. 7d is an illustration of a data presentation format according toone embodiment of the invention.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, there is provided acomputer implemented method for managing health-related data. The methodincludes receiving data into a memory relating to a plurality ofextrinsic physical activity parameters and capturing an image from adisplay that is coupled to an exercise machine. The image can becaptured, by example, with a smart phone camera. According to thismethod the images are then processed to extract the text data from thecaptured images, and the extracted text is analyzed to identifyinformation relating to the extrinsic physical activity performed by theperson using the system on the exercise machine. The results are storedin memory and a profile specific to the person is updated. The profilecomprises a log of past exercise activity that allows the person totrack his or her activity and progress and overall health. The profilecan be accessed by the person through a portal such as using a smartphone or a computer program or web browser.

In another arrangement, the text can be extracted using an opticalcharacter recognition algorithm which distinguishes text characters fromother image data and records the text character and its location andother spatial properties.

In another arrangement the text extracted from the captured image can beanalyzed to identify sequences in the text. This can be done byidentifying characters that are in proximity and of the same type (i.e.letter or number) and grouping those characters together. Sequenced datacan be further manipulated and analyzed by the processor and sorted intocategories such as numbers, duration and units. In addition, the spatialrelationships between various sequences can be determined by the system.

According to a further aspect of such a method, the image can beanalyzed to identify the manufacturer's brand of the exercise machine.In addition, the method can further comprise the step of extracting textfrom a limited area of the image as dictated by the brand of theexercise machine.

According to an aspect of the present invention, there is provided acomputer implemented method for processing private health related datainto a masked numerical score suitable for publishing. The methodcomprises receiving data into a memory on a plurality of intrinsicmedical parameters and extrinsic physical activity parameters of a user.The received data and weighting factors are stored in the memory. Thereceived data is processed by executing code in a processor thatconfigures the processor to apply the weighting factors to the intrinsicmedical parameters and the extrinsic physical activity parameters. Theweighting factors for at least the extrinsic physical activityparameters include a decay component arranged to reduce the relativeweight of the extrinsic physical activity parameters for a physicalactivity in dependence on at least one factor associated with the user.The processed data concerning the intrinsic medical parameters and theextrinsic physical activity parameters are transformed by further codeexecuting in the processor into a masked composite numerical value inwhich the code is operative to combine the weighted parameters inaccordance with an algorithm. The masked composite numerical value isautomatically published to a designated group via a portal (such as asocial web site) using code executing in the processor and free of anyhuman intervention. Meanwhile, the collected information concerning theintrinsic medical parameters and the extrinsic physical activityparameters is maintained private.

According to a further aspect of such a method as can be implemented ina particular embodiment thereof, the factor associated with the user canbe an age or an age range of the user such that the decay componentreduces the relative weight of the extrinsic physical activityparameters for a first user of a first age or age range differently thana second user of a second age or age range.

According to still another aspect of such a method as can be implementedin a particular embodiment thereof, the published masked compositenumerical value can comprise an average of a group of users to arrive ata group composite numerical value determination using further codeexecuting in the processor.

According to an additional aspect of the present invention, there isprovided a computer implemented health monitoring system which comprisesa communication unit operable to receive data on a plurality ofintrinsic medical parameters and extrinsic physical activity parametersof a user. A memory is arranged to store the received data and to storeweighting factors. Also, a processor is arranged to process the receiveddata by executing code that configures the processor to apply theweighting factors to the intrinsic medical parameters and the extrinsicphysical activity parameters. The weighting factors for at least theextrinsic physical activity parameters include a decay componentarranged to reduce the relative weight of the physical activityparameters for a physical activity in dependence on at least one factorassociated with the user. The processor is further arranged to executecode to transform the processed data concerning the intrinsic medicalparameters and the extrinsic physical activity parameters into a maskedcomposite numerical value using the processor by combining the weightedparameters in accordance with an algorithm. A portal is arranged topublish the masked composite numerical value to a designated group whilemaintaining the collected information concerning the intrinsic medicalparameters and the extrinsic physical activity parameters private.

Such a system can preferably be configured so that the factor associatedwith the user can be an age or an age range of the user such that thedecay component reduces the relative weight of the extrinsic physicalactivity parameters for a first user of a first age or age rangedifferently than a second user of a second age or age range.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS OF THE INVENTION

The following detailed description, which references to and incorporatesthe drawings, describes and illustrates one or more specific embodimentsof the invention. These embodiments, offered not to limit but only toexemplify and teach the invention, are shown and described in sufficientdetail to enable those skilled in the art to practice the invention.Thus, where appropriate to avoid obscuring the invention, thedescription may omit certain information known to those of skill in theart.

In one implementation, referring to FIGS. 1A and 1B and 1C, a system 100for determining the energy expenditure of a person includes a mobileelectronic device 102 and a remote server 104.

The mobile electronic device 102 can be a cell phone, personal digitalassistant, smart phone, tablet computing device, or other portableelectronic device. Mobile electronic device 102 includes a controlcircuit 103 which is operatively connected to various hardware andsoftware components that serve to enable determination of energyexpenditure of a person traveling along a route and/or determineextrinsic physical activity parameters of a person exercising on anexercise machine 107, as discussed in greater detail below. The controlcircuit 103 is operatively connected to a processor 106 and a memory108. Preferably, memory 108 is accessible by processor 106, therebyenabling processor 106 to receive and execute instructions stored onmemory 108.

One or more software modules 109 are encoded in memory 108. The softwaremodules 109 can comprise a software program or set of instructionsexecuted in processor 106. Preferably, the software modules 109 make upan exercise monitoring application that collects data, i.e. extrinsicphysical activity information, that can used to calculate energyexpenditure, and perform other functions, that is executed by processor106. During execution of the software modules 109, the processor 106configures the control circuit 103 to gather information about theperson and the person's exercise route, communicate position detailsabout the exercise route in order to receive elevation details, andother functions, as discussed in greater detail below. During executionof the modules, the processor 106 can also configure the control circuitto gather image data from a camera. It should be noted that while FIG.1B depicts memory 108 on control circuit 103, in an alternatearrangement, memory 108 can be practically any storage medium (such as ahard disk drive, flash memory, etc.) that is operatively connected tothe control circuit 103, even if not oriented on the control circuit asdepicted in FIG. 1B.

An interface 115 is also operatively connected to control circuit 103.The interface 115 preferably includes one or more input device(s) suchas a switch, knob, button(s), key(s), touchscreen, etc. Interface 115 isoperatively connected to the control circuit 103 and serves tofacilitate the capture of certain profile information and details aboutthe exercise event from the user, as discussed in greater detail below.By way of example, input device of interface 115 can be a touch screendisplay. Accordingly, the display 114 is used to display a graphicaluser interface, which displays various data and provide “forms” thatinclude fields that allow for the entry of additional information by theuser. Touching the touch screen interface 115 at locations correspondingto the display of the graphical user interface allows the person tointeract with the device to enter data, change settings, controlfunctions, etc. So, when the touch screen is touched, interface 115communicates this change to control circuit 103, and settings can bechanged or user entered information can be captured and stored in thememory 108.

The display 114 includes a screen or any other such presentation devicewhich enables the user to view various options and parameters, andselect among them using the interface 115 referenced above. In yetanother arrangement, either one or both of the interface 115 and display114 can be implemented in a non-visual and/or non-tactile fashion, suchas by using a series of audio menus and/or voice commands/prompts toselect and/or define settings, provide information about the user andthe exercise event, and/or control the functions of the system.

In one arrangement, interface 115 further enables the defining ofsettings and the entry of information by initiating and/or maintainingone or more communication sessions with an external device that iscommunicatively linked with mobile device 102. In one arrangement,interface 115 can connect with an external personal computer (PC)through a USB connection, Bluetooth connection, or any otherconnection/communication medium. The user can then utilize the connectedPC to define user settings, profile data, etc., and/or upload orotherwise communicate new settings, profile data, etc., which the userhas previously defined and/or has obtained from an external source (suchas the Internet). In another arrangement, interface 115 can connect withan external storage device, such as a USB flash drive, and receive oneor more settings that are stored thereupon. In yet another arrangement,interface 115 via communication interface 110 can connect to one or moreexternal servers through a network connection. For instance, interface115 can utilize a pre-existing network connection, such as an Internetconnection, via communication interface 110 using a wireless connection.In doing so, the interface can connect with various remote servers whichcontain settings that are available for users to download. The user candownload one or more desired settings and store them in memory 108. Thisfunctionality of interface 115, which enables the user to obtain and/orupdate the set of user settings, profile data, event data, etc., storedin memory 108, is of particular utility when used to obtain and/orupdate settings pertaining to specific exercise equipment (e.g., weightof bike is pre-stored) or exercise route information (e.g., detailsabout a person's favorite exercise route, such as the terraininformation, etc. can be pre-stored so that they do not have to bereentered every time the person follows the same route).

A positioning device 112 is operatively connected to control circuit103. The positioning device 112 can be a global positioning system (GPS)circuit or a positioning system that relies on triangulation betweencell phone towers in order to determine position. The positioning device112 permits the determination of the location of the mobile device 102and hence the position of the person. Using the positioning device 112the position coordinates (e.g., latitude and longitude) of the personcan be determined.

A communication interface 110 is operatively connected to controlcircuit 103. The communication interface 110 can be a cellularcommunication circuit allowing communication with a cellular network116, a Wi-Fi communication circuit allowing communication directly tothe internet 118 through a Wi-Fi connection, and/or a circuit allowingcommunication with a computer terminal 120, such as a Bluetooth® circuitand/or circuit allowing wired communication.

The control circuit 103 can also be operatively connected to a camera117. The camera 117 can be any type of digital camera including but notlimited to a camera found on a smart phone or cell phone. The camera canbe used to capture digital images of the user display 111 of an exercisemachine 107 that displays exercise activity related information. By wayof example, the information can be related to how much energy wasexpended by the person, in the form of calories burned data or otherunit of energy, the information can also relate to the distance traveledwhile on the machine. The control circuit is configured to store thedigital images that are captured by the camera in memory 108. Theprocessor 106 is configured to analyze the images and to extractextrinsic physical activity parameters relating to the user's exerciseactivity.

Referring to FIG. 1A, an exemplary diagram illustrates the mobileelectronic device 102 preferably in wireless communication withcommunication network 116, such as a cellular communication network.Mobile device 102's communication with communication network 116facilitates connection to the internet 118. Remote server 104 is alsoconnected to the internet 118. Accordingly, the mobile electronic device102 can communicate with and transmit data to and receive data from theremote server 104 via communication network 116 and the internet 118.

The mobile electronic device 102 can also communicate with a computerterminal 120. Computer terminal 120 can be a personal computer, forexample. The mobile electronic device 102 can communicate with thecomputer terminal 120 via a Wi-Fi or Bluetooth connection, for example.The mobile electronic device 102 can also communicate with the computerterminal 120 via a wired connection, using a USB tether, for example.The computer terminal 120 is connected to the internet 118. Thus, themobile electronic device 102 can communicate with the remote server 104via a computer terminal 120. The mobile electronic device 102 can alsocommunicate with the internet 118 through its communication interface110 (e.g., Wi-Fi) and thus connect to the remote server 104.

The server 104 includes a processor 122, a database 124, and acommunication interface 126. The database 124 includes topographic data.The topographic data can be in the form of topographic maps that includecontour lines and elevation data. Each contour line represents aninterval of elevation. For example, if the contour lines represent aninterval of ten feet, crossing ten contour lines between two points on atopographic map represents a change of 100 feet of elevation. Thedistance between the contour lines on the map represents slope of theterrain. The closer the contour lines are together, the greater theslope of the terrain. Topographic maps can be digital data that includeselevations at know coordinate points on the map. Topographic maps anddata can be used to determine the elevation at a given position. Asdiscussed in more detail below, the remote server 104 can receiveposition coordinate data from mobile electronic device 102, correlatethe position coordinates with the topographic map data, and determinethe elevation at that position. The remote server 104 can transmit theelevation value that corresponds to the position coordinate back to themobile electronic device 102.

The operation of the mobile device 102 and the various elementsdescribed above will be appreciated with reference to the method forcalculating the energy exerted by a person along an exercise route, asdescribed below, in conjunction with FIG. 2.

Referring now to FIG. 2, a flow diagram illustrates functionalitysuitable for capturing information about a person, the person's route,and other information, in order to determine the amount of energy theperson expends traveling along that route. The system 100 can be used bythe person to calculate the energy expended by the person as they travelalong a route, such as an exercise route. It should be appreciated thatseveral of the logical operations described herein are implemented (1)as a sequence of computer implemented acts or program modules running onmobile device 102 and/or (2) as interconnected machine logic circuits orcircuit modules within the mobile device 102. The implementation is amatter of choice dependent on the requirements of the device (e.g.,size, energy, consumption, performance, etc.). Accordingly, the logicaloperations described herein are referred to variously as operations,structural devices, acts, or modules. Various of these operations,structural devices, acts and modules can be implemented in software, infirmware, in special purpose digital logic, and any combination thereof.It should also be appreciated that more or fewer operations can beperformed than shown in the figures and described herein. Theseoperations can also be performed in a different order than thosedescribed herein.

At step 200 a person initiates the device for calculating energyexpenditure. Preferably, a person initiates the system prior tocommencing exercise activity that involves traveling along a route(e.g., walking, running, hiking, biking, snow shoeing, cross countryskiing, etc.).

At step 202, the person's profile is displayed. A profile containsvarious physiological and other health related information about theperson. The profile information can include the person's age, weight,height, body mass index, physical fitness information (e.g., informationabout a person's ability to complete physical tasks (running speed,endurance, weight lifting capability, etc.)), medical history (e.g.,medical conditions, such as, diabetes, heart disease, high bloodpressure, cholesterol levels, lipid levels, etc.). At least some or allof this information can be used in the calculation to determine theenergy the person exerted as a result of traveling the route, as will bediscussed in further detail below.

The person is prompted to update their profile at step 204. For example,a person may have lost or gained weight since the last time theirprofile was updated. Accordingly, the person is presented an opportunityto correct that information and the profile changes are captured at step208. If the profile is missing data or is completely empty (e.g., thefirst use of the system by this person), the person can supply therequired information to populate the profile.

At step 210, details about the exercise event are captured. For example,environmental data, such as temperature data, wind speed and winddirection data, humidity data, etc., can be captured. The system canprompt the mobile electronic device 102 to determine the position of themobile electronic device using the positioning device 112. The systemcan then connect to the internet using its communication interface 110and transmit the position data to a weather database or weather servicewebsite available on the internet. The mobile electronic device 102 canthen receive the environmental data from the weather service thatcorrelates to that position. The person can also manually enter theenvironmental condition information. The environmental conditions canaffect the energy exerted during the exercise event. For example, hightemperatures can cause a person to exert more energy during exercise orthe direction and speed of the wind (i.e., tail wind or head wind) canaffect energy exertion, especially during activities such as biking. Theenvironmental data can be used to generate a weighting factor that willincrease or decrease certain values in the energy expenditurecalculation. The environmental data can also be used as a variable inthe energy expenditure calculation (e.g., wind speed in the calculationfor biking, as discussed in more detail below).

In addition, the person can be prompted to enter additional informationabout the exercise activity they are performing. For example, they canindicate whether they are walking, running, biking, hiking, crosscountry skiing, snow shoeing, skating, skateboarding, etc. More energywill be exerted running a given distance than biking a given distanceand the algorithms used to calculate that energy expenditure may bedifferent. Accordingly, selecting an activity type assigns a parametervalue and the system checks the parameter value to select the properalgorithm to determine energy expenditure. In addition, selecting thetype activity can control the functioning of the system. For example,sports such as tennis, squash, baseball, football, soccer, etc., aretypically played on flat fields of limited dimensions. These types ofactivities typically do not involve changing elevation as the personmoves along the field. Thus, elevation measurement becomes lessimportant in determining energy expended. Accordingly, a parameter canbe set to a zero value for activities that are defined as not involvingelevation change (e.g., soccer) and a non-zero value for activities thatare defined as potentially involving elevation changes (e.g., running).The system can then check the parameter, and if it is zero, the systemskips the procedure of transmitting location information to a remoteserver and receiving elevation information (steps 232 and 234, discussedin more detail below), and assumes that the elevation change is zero. Ifthe parameter is non-zero, the system performs the elevationdetermination steps. In addition, the type activity can also control howthe system determines distance traveled. For example, tennis isperformed on a relatively confined court and using GPS alone todetermine distance traveled associated with moving back and forth acrossthe court may not produce the most accurate results. Thus, the systemcan also use an accelerometer to determine the amount of movement of theperson. The type of activity selected has a predetermined parametervalue associated with it, and depending on the value, the system can usedifferent algorithms and methods for determining distance traveled usingaccelerometer data.

The person can also enter information about the route terrain, such aswhether the ground surface is paved road, gravel road, dirt road, woodstrail with woodland debris, loose gravel, loose sand, etc. The type ofterrain can affect the energy exerted by a person along a route. Forexample, more energy is exerted running on sand than running on a pavedroad. The system can have stored values associated with the type ofterrain that can be used in the calculation of the energy expenditure.The person can also enter information about the type of equipment theyare using, such as whether they are riding a mountain bike, which hasthick, rough tires with lower pressure and hence a higher resistance, ora road bike, which has thin, smooth tires at high pressure and hence alower rolling resistance. For example, the system can have storedfriction values for tires or different widths, diameters, tread types,and inflation pressures. The person can also indicate if they arecarrying any equipment, such as a backpack with supplies, and the weightof the pack. Thus, terrain, environmental, and equipment information canbe included in the calculation (either as a weighting factor or avariable) to determine energy expenditure in order to increase theaccuracy of the expenditure calculation.

At step 212, the person, through the interface of the mobile electronicdevice 102, indicates at the start of the event. Doing so indicates thatthe person has started their exercise and will be progressing along anexercise route. Accordingly, at step 214 the position of the person iscaptured using the positioning device 112 of the mobile electronicdevice 102. As discussed above, mobile electronic device 102 includes apositioning device 112 that determines the position of the person. Thepositioning device 112 can be a global positioning system (GPS) moduleor a positioning system that relies on triangulation between cell phonetowers in order to determine position. The positioning device 112permits the mobile electronic device 102 to determine the positioncoordinates (e.g., latitude and longitude) of the mobile electronicdevice, and hence the person carrying the mobile electronic device.

At step 216, the time is captured that corresponds to the time at whichthe position was captured in step 214. The position and correspondingtime data are then stored in the memory 108 of the mobile electronicdevice 102. This creates a trackpoint, which is a record of the person'sposition and the time the person was at that position. These trackpointscan be used to determine the distance traveled and the speed of theperson during the exercise event, as discussed further herein.

At step 218, the person is presented with an option to display theircurrent progress during the exercise event. If the person does notrequest an intermediate progress display, the person can continueexercising.

The person can indicate whether the exercise event is complete, at step220. If the event is not complete, the system optionally waits for aninterval to elapse at step 222, before returning to the capture positionstep 214. The interval can be a distance interval and/or a timeinterval. The GPS module can create a notification that the device hasmoved a certain distance, which satisfies the “interval” at step 222 andcaused the position to be captured at step 214. In addition, or in thealternative, the interval can be a time interval and after thepredetermined interval has elapsed, the system proceeds to step 214 andthe position is captured. The time interval between successive positioncaptures can be set for a longer time interval in order to reduce thenumber of processing cycles and hence preserve power and battery life.The time interval can also be set for a short time if more data pointsare desired, which will result in more precise information about theperson's exercise route. The system follows this loop and collectssuccessive position and time data (trackpoints) of the person during theperson's exercise event.

If the person requests an interim progress display at step 218 orindicates that the exercise event is complete at step 220, the systemthen proceeds to the energy expenditure analysis at step 224.Alternatively, the energy expenditure analysis can be preformed aftereach location capture. Accordingly, the system proceeds to steps 224after each location capture, even if the user does not prompt an interimdisplay at step 218 or indicate an end condition at step 220.

At step 226, the system determines the change in horizontal distancebetween successive trackpoints along the route. This is accomplished bycalculating the difference of position coordinates (latitude andlongitude) between a first position and a previous, second position.That difference represents the horizontal distance traveled by the userbetween successive trackpoints. This process is repeated for all thesuccessive trackpoints and all the positioning deltas can be totaled toarrive at the total horizontal distance traveled by the person duringthe exercise event. This represents the horizontal distance traveled bythe person along the route.

For example, the horizontal distance between two trackpoints (a currenttrackpoint and a previous trackpoint) can be calculated using thespherical law of cosines using the formula:Distance[horizontal]=a cos(sin(Previous latitude)*sin(Currentlatitude)+cos(Previous latitude)*cos(Current latitude)*cos(Currentlongitude−Previous longitude))*6371000.

The spherical law of cosines is accurate to about 0.3%—which is likelyto be sufficient given the overall GPS inaccuracy. However, there alsoexist more precise, numerically stable calculations based on a properWGS84 ellipsoid, which can be used in other arrangements.

At step 228, the delta time is calculated by taking the difference inthe times between two trackpoints. The total time of the exercise eventcan be calculated by aggregating all the delta times between all of thesuccessive track points. At step 230, the average velocity of the personbetween two trackpoints can be calculated by dividing the delta distanceby the delta time between the trackpoints.

At step 232, the position information for one or all of the trackpointsis transmitted to a remote server 104 using the mobile electronic device102 communication interface 110. The remote server 104 includes adatabase that includes topographic data (i.e., data that includeselevation for particular geographic points). The remote server 104receives the position data from the mobile electronic device 102 andthen correlates that position data to the topographic data in order todetermine the elevation that corresponds to that position. Thus, thesystem relies on topographic map data to determine elevation at atrackpoint as opposed to using GPS to determine elevation. The presentsystem offers significant advantages over systems that rely on GPScalculation to determine elevation because such GPS systems have higherlevels of inaccuracies.

The present system uses position coordinates and then uses topographicmap data (e.g., United States Geological Survey data), which typicallyhas a high degree of accuracy, in order to determine the elevation ofthe person at a particular position. The elevation at the positioncoordinate of a trackpoint can be calculated a number of different waysusing a number of different methods. One method of calculating theelevation corresponding to a trackpoint relies on digital elevationmodel data in which elevation information is provided only at specificgrid positions. Accordingly, if the position of a trackpoint (latitudeand longitude) does not correspond to an existing grid position, theelevation must be calculated using neighboring grid positions andinterpolating to determining the elevation at the trackpoint. Theelevation (height) of a particular trackpoint can be calculated usingvariables and equations, as follows:

Variable Description Size[grid] Size of the grid, i.e. distance betweenneighboring grid lines lat, lng Latitude and longitude of trackpoint n,s, e, w Grid lines positions (latitude and longitude) that neighbor thetrackpoint (north, south, east, and west of the trackpoint) Weight[n],Weight[s], Weight of neighboring grid lines Weight[e], Weight[w]Weight[ne], Weight[nw], Weight of neighboring grid corners Weight[se],Weight[sw] Height[ne], Height[nw], Height of neighboring grid corneraccording to Height[se], Height[sw] digital elevation model HeightInterpolated height

The weight of the four grid lines neighboring the position of thetrackpoint can be calculated as follows:Weight[n]=1−(n−lat)/Size[grid]Weight[s]=1−(lat−s)/Size[grid]Weight[e]=1−(e−lng)/Size[grid]Weight[w]=1−(lng−w)/Size[grid]

The weight of the four grid corners neighboring the position of thetrackpoint can be calculated as follows:Weight[ne]=Weight[n]*Weight[e]Weight[nw]=Weight[n]*Weight[w]Weight[se]=Weight[s]*Weight[e]Weight[sw]=Weight[s]*Weight[w]

The interpolated height of the trackpoint can be calculated as follows:Height=(Height[ne]*Weight[ne]+Height[nw]*Weight[nw]+Height[se]*Weight[se]+Height[sw]*Weight[sw])/(Weight[ne]+Weight[nw]+Weight[se]+Weight[sw])

Accordingly, the height (elevation) of each trackpoint can be calculatedusing digital elevation models of the terrain corresponding to thetrackpoints along the exercise route of the person.

The mobile electronic device 102 then receives the elevation values fromthe remote server 204 via its communication interface 110 at step 234.This process is repeated for each trackpoint captured along the route.

As shown in FIG. 2, the steps of transmitting position(s) 232 andreceiving elevation values corresponding to the position(s) 234 areperformed during the energy expenditure analysis process 224, which istriggered when the user requests an interim progress display at step 218or indicates the exercise event is ended at step 220. However,transmitting (232) to the server and receiving the elevation values(234) after the server calculates the values for all the storedtrackpoints can be a time consuming process. Accordingly, as shown indashed lines, steps 232 and 234 can alternatively be performed aftereach position capture step 214. Accordingly, the system transmits thepositions and receives elevations as the position information iscaptured. Thus, when the user prompts a progress display or indicatesthe exercise event is complete, the system relies upon the alreadystored elevation data, which can reduce the time to calculate the energyexpenditure.

At step 236, the delta elevation or change in vertical distance betweensuccessive trackpoints is calculated.

At step 238, the effective distance traveled by the person is calculatedusing the delta distance (horizontal) data and the delta elevation(vertical) data calculated at steps 226 and 236, respectively. Theeffective distance can be calculated using the formula:Effective Distance=sqrt((delta distance){circumflex over ( )}2+(deltaelevation){circumflex over ( )}2).

The energy expenditure of the person between trackpoints is calculatedat step 240 using an algorithm, the profile data (202/208), the eventdetail data (210), and the calculated effective distance (238) of theexercise route. The algorithm that is used to calculate the energyexpenditure can be dependent on the type of activity performed by theperson. For example, the characteristics of biking require thatdifferent factors be taken into account to determine the energyexpended. Biking generally involves greater speeds which makes the windvelocity and air resistance relevant (e.g., riding against a strong windrequires more work). Biking also requires taking into account therolling friction of the tire, which is dependent on the type of tire andthe tire pressure. When biking, a rider can coast on the down hillswhich requires less work from the rider, whereas coasting is notpossible while running. An exemplary algorithm and variables fordetermining energy expenditure during biking are provided as follows:

Variable Description F Force to overcome by the biker, in Newton WWeight of the biker and the bike, in kilograms V Velocity of the biker,relative to the ground, in meters per second V[wind] Wind velocity,adverse, in meters per second C[friction] Rolling friction coefficient,depending on tyre, tyre pressure, ground C[air] Air resistancecoefficient, depending on bike form, body posture, biker clothing GGraviational acceleration of the earth, in meters per second{circumflexover ( )}2 Pct[slope] Slope percentage, defined as Distance[vertical]/Distance[horizontal] E Expended energy of the biker, in Joule D Distancetraveled by the biker, in meters C[biker] Biker energy transfercoefficient, depending on the physiological characteristics of the bikerT Time spent biking, in seconds P[exp] Expended power of the biker, inWatt P[eff] Effective power of the biker, in Watt

The force (F) can be calculated as follows:F=C[friction]*W*cos(arctan(Pct[slope]))+C[air]*(V+V[wind]){circumflexover ( )}2+G*W*sin(arctan(Pct[slope]))Using the force (F), calculated above, the energy expended (E) by thebiker can be calculated as follows:E=F*D*C[biker]

The expended power (P[exp]) of the biker can be calculated as follows:P[exp]=E/T=F*D*C[biker]/T=F*V*C[biker]

The effective power (P[eff]) of the biker can be calculated as follows:P[eff]=F*V

An example calculation of a biker that weighs 90 kg, going up a 5% slopefor 1 kilometer at a velocity of 12 km/h, using a hybrid bike with awell inflated tire on a clean, paved road, is provided as follows:

Variable Value W 90 kg V 3.3 m/s V[wind] 0 m/s C[friction] 0.1 C[air]0.45 Pct[slope] 0.05 G 9.81 m/s{circumflex over ( )}2 D 1000 m C[biker]4.0

The calculations are as follows:F=9.0+4.9+44.1=58[Netwon]E=58*1000*4=232000[Joule]=55.4[kcal]P[exp]=765[Watt]P[eff]=191[Watt]

As discussed above, because of the different characteristics of certainexercise activities, different algorithms can be used to more accuratelycalculate the energy expended by a person during an activity. Inaddition, different algorithms can be used depending on whether theperson is moving uphill or downhill along the route. For example, adifferent algorithm can be used if the person is biking downhill becausecoasting becomes a factor in the determination. A person that iscoasting exerts less energy than a person that is pedaling uphill over acertain distance. According, the energy expenditure result for downhillsections can be reduced by a weighting factor (e.g., reduced by (50%)for downhill sections. Alternatively, the terminal velocity for a giveslope, taking into account friction, wind resistance, etc., can becalculated assuming no pedaling from the rider (i.e., 100% coasting).Then, the actual velocity at the end of the slope can be measured. Ifthe measured actual velocity is greater than the calculated terminalvelocity (meaning that the rider had to contribute energy to account forthe increased speed), the amount of energy required to achieve theexcess velocity can be calculated.

As an example of another algorithm that can be used for a differentactivity, one method of determining the energy expenditure duringrunning or walking is based on the oxygen consumption of therunner/walker. An exemplary algorithm and variables for determiningenergy expenditure during running/walking are provided as follows:

Variable Description VO2 Oxygen consumption C[horizontal] Oxygenconsumption coefficient for horizontal movement C[vertical] Oxygenconsumption coefficient for vertical movement Pct[slope] Slopepercentage E Energy expended by the runner W Weight of the runner DDistance run by the runner P[exp] Power expended by the runner T Timespent running V Velocity of the runner C[runner] Energy transfercoefficient of the runner

The oxygen consumption (VO2) can be calculated as follows:VO2=C[horizontal]+C[vertical]*Pct[slope]

Using the oxygen consumption (VO2), calculated above, the energyexpended (E) by the runner/walker can be calculated as follows:E=VO2*W*D*C[runner]

The expended power (P[exp]) of the runner/walker can be calculated asfollows:P[exp]=E/T=VO2*W*D*C[runner]/T=VO2*W*V*C[runner]

An example calculation of a runner that weighs 82 kg, going up a 5%slope for 1 kilometer at a velocity of 8 km/h, on a clean, paved road,is provided as follows:

Variable Value W 82 kg V 2.2 m/s D 1000 m C[horizontal] 0.2 mL/(kg * m)C[vertical] 0.9 mL/(kg * m) C[runner] 21.1383 J/mL

The calculations are as follows:VO2=0.2+0.9*0.045=0.2405[mL/(kg*m)]E=0.2405*82*1000*21.1383=416868[J]=99.6[kcal]P[exp]=917[Watt]

These are just two examples of algorithms and factors that can be usedto determine energy expenditure during a given exercise. Othervariables, such as ambient temperature, can also be included in thecalculations. They can be included as separate variables in thecalculation and/or they can be included as weighting factors. Forexample, exercising in hot weather is results in greater energyexpenditure. Thus, for every degree above an ideal temperature, thecalculated energy expended can be increased by multiplying it by aweighting factor. For example, for every degree Fahrenheit over 60degrees, the energy expended value can be increase by 1% by multiplyingit by a weighting factor.

The energy expended during this exercise event is then added to theperson's profile at step 242. This energy expenditure information canalso be used to calculate an overall health score of the person, asdescribed more fully in provisional patent application Ser. No.61/387,906, filed on Sep. 29, 2010, and titled HEALTH DATA ACQUISITION,PROCESSING AND COMMUNICATION SYSTEM. The updated health score of theperson can also be published to a social networking site, as describedin the 61/387,906 application, so that others may view the health scoreand/or the exercise activity of the person.

At step 244, the statistics of the exercise event can be sent to thegraphic user interface and displayed on the display 114 of the mobileelectronic device 102. The statistics may include total distancetraveled, total elevation change, total time, average velocity, andenergy expended.

The system ends at step 246 if the user indicated that the exerciseevent was over at step 220. If the user requested an interim progressdisplay at step 218, and the exercise event is not yet complete, thesystem returns to step 214 to begin collection of additional trackpointsas the person continues the exercise event.

There are many possible variations to the steps described above inconnection with FIG. 2. For example, as described above, the positiondata is transmitted to the remote server and the elevation correspondingto that position is received by the mobile device. Alternatively, theposition data can be transmitted to the remote server and the mobileelectronic device can receive the digital elevation model data with thegrid points from the server. In this arrangement, the calculations forinterpolating the height at the positions can be performed by the mobiledevice instead of the remote server. In another arrangement, the profiledata, event detail data, position data, and time data can be transmittedto the remote server. The remote server can then perform all thecalculations necessary to determine the energy expended by the person.Then the mobile device can receive the energy expended values from theserver and display them without having to perform the calculations.

The system 100 can also be used to predict the energy that a personwould expend if the person exercised along a particular route. Thepredictive function can be used by the user to determine which exerciseroute is best suited for the user's exercise objectives. For example,the user can use the mobile device 102 to retrieve map data from theinternet 118. The users can then set a start point and an end point onthe map and the device can present several different possible exerciseroutes between the start and end points. The different routes can havedifferent distances, difference elevation changes, and different terrainconditions. This information can be contained in the map data retrievedfrom the internet. The user can then indicate the type of exercise(e.g., biking, running, etc.) the person intends to engage in and theintended speed of the exercise. The system then divides the proposedroutes into a number of position trackpoints. The position trackpointsare then transmitted to the remote server. The remove server calculatesthe corresponding elevation information, as discussed above, and thedevice receives the elevation information from the server. The devicethen calculates, as discussed above, the predicted energy that would beexpended for the selected activity along each proposed route. Thus, if aperson has a goal to expend a certain amount of energy (e.g., burn 1000calories), the person can select a route that is predicted to achievethis goal.

Referring now to FIG. 3, a flow diagram illustrates functionalitysuitable for managing health-related data captured from an exercisemachine with a camera. The system 100 can be used by the person in orderto capture extrinsic physical activity parameters from a display 111 ofan exercise machine 107 and record that information to a personal logcontaining historical exercise activity information.

At step 300, a person captures an image that includes the display 111 ofan exercise machine 107 using a mobile device 102 with a camera 117 or adifferent type of camera. The exercise machine 107 is not limited to aparticular type of machine such as a treadmill, stationary bike,elliptical trainer, rowing machines, and the exercise machine 107 is notlimited to a particular manufacturer or model.

At step 310 the processor 106, executing one or more software modules109, is configured to store the digital image captured by the camera 117in memory 108. The image can be stored locally on the mobile device 102or remotely on another device such as a server 104. Similarly, furtherprocessing by the processor 106 on the image can be performed locally orremotely or a combination of remote and local processing.

At step 320 the processor 106, executing one or more software modules,109 is configured to determine, from the image, the extrinsic physicalactivity parameters that were shown on the display 111 of the exercisemachine 107.

In one arrangement, the extrinsic physical parameters can be determinedby implementing an optical character recognition (OCR) algorithm. OCRalgorithms, which are known in the art, are used to distinguish textcharacters from other image data (e.g. non-text like trees etc.) andrecord that information including the character and the associatedlocation of the character in the image.

The processor 106 can be configured to implement an OCR algorithm toidentify characters in the image data and associated location of thecharacter and a confidence score which corresponds to how likely thealgorithm was correct in identifying a particular character.

The processor 106 can also analyze the OCR data, including characters,locations, and confidence, using a sequencing algorithm. The sequencingalgorithm, can analyze the OCR data to find characters that are inproximity and of the same type (i.e. letter or number) that should begrouped together. For example, the two numbers 1 and 0 next to twoletters k and m can be grouped as independently as “10” and “km”. By wayof further example and not limitation, the grouping algorithm can alsoconfigure the processor to group numbers separated by a “:” together,for example 1 0:5 5 is grouped together as “10:55” instead of “10” “:”and “55”. The sequencing algorithm sorts the raw OCR data into moremeaningful sequenced data that can be further manipulated and analyzedby the processor 106.

The processor 106 can be configured to further categorize the sequenceddata using a sorting algorithm. The sorting algorithm can compare thesequenced data to known types of information and categorize accordingly.Some categorizes include, numbers, such as “112” or “198.8”, durations,such as numbers grouped together separated by a “:” or units such asgroups of letters and symbols such as “kcal” or “km/h”. Similarly, theprocessor 106 can further categorize units into their specific typesincluding as “energy” or “time” or “distance” by comparing the unit to alist of known units and types that are stored in memory 108.

The processor 106 executing one or more software modules 109 candetermine if sequences of characters that are categorized as a number orduration are associated with a particular unit by comparing the locationof the number or duration to the location of the unit. For example, ifthe location of a unit is intersected by whole or in part by thelocation of a number or duration, either vertically or horizontally, theunit and the number or duration can be associated. The amount by which aunit and a number or duration need to intersect in order to beassociated with one another can be a predetermined percentage, forexample 80%.

If there are multiple numbers and/or durations that intersect with aunit, the processor can be configured to associate the unit to thenumber or duration that is in closest proximity to the unit. If one ormore durations are identified, however, there is no unit that iscategorized as “time” associated with the one or more durations, theprocessor 106 executing one or more software modules 109 is configuredto analyze the area of the one or more durations and determine thelargest duration in terms of area. The processor can be configured toassociate the largest duration, in terms of area, to the elapsedwork-out time.

In another arrangement, the processor 106 executing one or more softwaremodules 109 is configured to extract extrinsic physical activityparameters from an image captured by the camera 102 can also incorporatethe step of first identifying the make (manufacturer brand) and modelexercise machine 107 that was being used by the person. The processor106 can be configured to implement a photo comparison algorithm tocompare the image to a database of photos of known exercise machineswhich is stored in memory 108. Photo comparison algorithms are known inthe art and work by comparing the features of one image to another todetermine the degree of similarity. If the image corresponds to a photoof a known exercise machine, within a pre-determined degree ofconfidence, the processor can analyze the image for extrinsic physicalactivity parameters according to a specific algorithm tailored to thatexercise machine.

If the image does not correspond to a photo of a known exercise machinewithin the pre-determined degree of confidence, the processor 106 can beconfigured to prompt the user to confirm the make and model of theexercise machine or manually input the manufacturer and model using theinterface 115, or prompt the user to re-capture the image with thecamera and try again.

Determining the make and model of the exercise machine prior toanalyzing the text information in the image can help reduce the amountof image data that the processor 106 needs to analyze. By example, if itis known that a Precor™ treadmill displays the distance traveled duringthe workout in the upper right hand corner of the screen, and amount ofcalories burned in the bottom right, the system need only analyze theupper right portion of the image to locate and extract the informationthat corresponds to distance traveled and the bottom right for caloriesburned.

At step 330, the extrinsic physical activity parameters are stored intomemory 108.

At step 340, the extrinsic physical activity parameters can then beadded to the person's profile. The profile, as discussed above, containsphysiological and other health and exercise related information aboutthe person, and is a continuous log of extrinsic physical activityparameters corresponding to past work-out sessions that allows the userto track their activity and progress and overall health.

At step 360, the profile can be provided to the user through a portal.The portal can include, but is not limited to, an application on theperson's mobile device or a web-based portal accessible through theinternet.

The extrinsic physical activity parameters can also be used to calculatean overall health score of the person, as described more fully in belowand in: Provisional patent application Ser. No. 61/387,906, filed onSep. 29, 2010, and WO Patent Application No. PCT/US11/53971 filed onSep. 29, 2011 titled HEALTH DATA ACQUISITION, PROCESSING ANDCOMMUNICATION SYSTEM, the entireties of which are hereby incorporated byreference. The updated health score of the person can also be publishedto a social networking site, as described in the 61/387,906 application,so that others may view the health score and/or the exercise activity ofthe person.

In another implementation, referring to FIGS. 4-7, a system 1100includes a computer-based application for the collection of healthrelated parameters of a user and a user interface 1110 for the displayof data. The computer-based application is implemented via amicrocontroller 1120 that includes a processor 1124, a memory 1122 andcode executing therein so as to configure the processor to perform thefunctionality described herein. The memory is for storing data andinstructions suitable for controlling the operation of the processor. Animplementation of memory can include, by way of example and notlimitation, a random access memory (RAM), a hard drive, or a read onlymemory (ROM). One of the components stored in the memory is a program.The program includes instructions that cause the processor to executesteps that implement the methods described herein. The program can beimplemented as a single module or as a plurality of modules that operatein cooperation with one another. The program is contemplated asrepresenting a software component that can be used in connection with anembodiment of the invention.

A communication subsystem 1125 is provided for communicating informationfrom the microprocessor 1120 to the user interface 1110, such as anexternal device (e.g., handheld unit or a computer that is connectedover a network to the communication subsystem 1125). Information can becommunicated by the communication subsystem 1125 in a variety of waysincluding Bluetooth, WiFi, WiMax, RF transmission, and so on. A numberof different network topologies can be utilized in a conventionalmanner, such as wired, optical, 3G, 4G networks, and so on.

The communication subsystem can be part of a communicative electronicdevice including, by way of example, a smart phone or cellulartelephone, a personal digital assistant (PDA), netbook, laptop computer,and so on. For instance, the communication subsystem 1125 can bedirectly connected through a device such as a smartphone such as aniPhone, Google Android Phone, BlackBerry, Microsoft Windows Mobileenabled phone, and so on, or a device such as a heart rate or bloodpressure monitor (such as those manufactured by Withings SAS), weightmeasurement scales (such as those manufactured by Withings SAS),exercise equipment or the like. In each instance, the devices eachcomprise or interface with a module or unit for communication with thesubsystem 1125 to allow information and control signals to flow betweenthe subsystem 1125 and the external user interface device 1110. Inshort, the communication sub-system can cooperate with a conventionalcommunicative device, or can be part of a device that is dedicated tothe purpose of communicating information processed by themicrocontroller 1120.

When a communicative electronic device such as the types noted above areused as an external user interface device 1110, the display, processor,and memory of such devices can be used to process the health relatedinformation in order to provide a numerical assessment. Otherwise, thesystem 1100 can include a display 1140 and a memory 1150 that areassociated with the external device and used to support datacommunication in real-time or otherwise. More generally, the system 1100includes a user interface which can be implemented, in part, by softwaremodules executing in the processor of the microcontroller 1120 or undercontrol of the external device 1130. In part, the user interface canalso include an output device such as a display (e.g., the display1140).

Biosensors 1115 can be used to directly collect health information abouta user and report that information. The biosensor can be placed incontact with the user's body to measure vital signs or other healthrelated information from the user. For example, the biosensor can be apulse meter that is worn by the user in contact with the user's body sothat the pulse of the user can be sensed, a heart rate monitor, anelectrocardiogram device, a pedometer, a blood glucose monitor or one ofmany other devices or systems. The biosensor can include a communicationmodule (e.g., communication subsystem 1125) so that the biosensor cancommunicate, either wired or wirelessly, the sensed data. The biosensorcan communicate the sensed data to the user interface device, which inturn communicates that information to the microcontroller. Optionally,the biosensor can directly communicate the sensed the data to themicroprocessor. The use of biosensors provides a degree of reliabilityin the data reported because it eliminates user error associated withmanually, self-reported data.

Alternatively or in addition, the user can self-report his or her healthrelated information by manually inputting the data. Thus, in anotherimplementation, as shown in FIG. 4A, health related data of a person isentered directly into a computer 1160 and provided across a network 1170to a server computer 1180. (All computers described herein have at leastone processor and a memory.)

Regardless of the implementation, the system provides a means forassigning a numerical value that represents the relative health of anindividual. The numerical value is described herein as a “health score”and can be used to assess to the individual's health based on healthrelated information collected from a user. The health score iscalculated based on the collected health information using an algorithm.The user or the communication subsystem 1125 provides the system thehealth related information concerning a number of health parameters.Predetermined weighting factors are used to assign a relative value ofeach of the parameters that are used to calculate the health score. Theuser's health score is then calculated by combining the weightedparameters in accordance with an algorithm. For example, the parameterscan be a person's blood glucose level and body weight. A weightingfactor “a” is applied to the blood glucose data and a weight factor “b”can be applied to the body weight data. If the blood glucose data is amore important factor in determining a person's health than body weight,then the weighting factor “a” will be larger than weighting factor “b”so that the blood glucose data has a larger impact on the calculatedhealth score (e.g., Healthscore=Glucose*a+(Weight/100)*b). In certainimplementations, the weighting factor is a non-unity value (e.g.,greater or less than one, but not one). Fewer or additional factors canbe included in the calculation of the health score, and an offset valuecan be included that is added or subtracted or which modifies the entirecalculation, in certain implementations such as to account for age orgender as two possible reasons; however, the foregoing is intended as anon-limiting example of how to calculate a health score. Otherparameters that can be measured and included in the calculation includeblood pressure measurements, height, body mass index, fat mass, medicalconditions such as diabetes, ventricular hypertrophy, hypertension,irregular heartbeat and fasting glucose values. Where absent, aparameter can be omitted from the calculation or it can be estimatedfrom other parameters and/or values obtained from a sample group ofindividuals having similar parameters.

In addition to intrinsic medical parameters, physical activity of a useris also taken into account when calculating his or her health score.Physical activity can be monitored via an appropriate sensor dependenton the activity. Sensors can include a GPS unit, an altimeter, a depthmeter, a pedometer, a cadence sensor, a velocity sensor, a heart ratemonitor or the like. In the case of gym-based activities, computerizedexercise equipment can be configured to provide data directly on theprogram completed by the user (for example, a so-calledelliptical/cross-trainer can provide far better data on the workout thana user's pedometer etc). Although automated capture of parametersconcerning a user's physical activity is preferred, a user interface formanual activity entry is also provided. In this regard, an exercisemachine such as a treadmill, elliptical, stationary bike or weightlifting machine with a rack of weights or bands can be provided with acommunications interface to communicate with the system described hereinto provide extrinsic physical activity parameters to the system and toreceive and further include a processor configured to process data fromthe system so as to automatically adjust an exercise program at theexercise machine to meet a goal, challenge, or other objective for thatuser.

Lifestyle data such as diet, smoking, alcohol consumed and the like canalso be collected and used in calculating the health score. In oneembodiment, a barcode or RFID scanner can be used by a user to capturedata on consumed foodstuffs that is then translated at a remote system,such as the server 1180 or a website in communication with the server1180, into parameters such as daily calorie, fat and salt intake. Inpart, the system relies on such data being provided by the user whileother data can be obtained through data network connections oncepermissions and connectivity rights are in place.

Physical activity and lifestyle data is tracked over time and a decayalgorithm is applied when calculating its effect on the health score, asis discussed in more detail below. As such, physical activity far in thepast has a reduced positive effect on the health score. Preferably, theweighting factors used in the algorithm for the computation of thehealth score are adjusted over time in accordance with a decay componentwhich is arranged to reduce the relative weight of the parameters thatare used in the calculation. The decay component can itself comprise aweighting value, but can also comprise an equation that takes intoaccount at least one factor associated specifically with the user, suchas the user's weight or weight range, age or age range, any medicalconditions known to the system, and any of the other parameters that maybe known to the system, or a curve that is configured in view of thesefactors so that a value can be read from the curve as a function of thevalues along the axes for that user. In this way, the decay componentcan reduce the relative weight of the parameters used in the healthscore calculation for a first user differently than for another user,such as when the first user has a first age or age range and the seconduser has a second age or age range.

A central system, preferably a database and website that can be hosted,for example, by the server 1180, maintains data on each user and his orher health score and associated parameters and their trends over time.The data can be maintained in such a way that sensitive data is storedindependent of human identities, as understood in the art.

The calculated health score for each user is then processed independence on a system, group or user profile at the central system.Depending on the profile settings, the health score and trendsassociated can cause various automated actions. For example, it cancause: triggering of an automated alert; providing user feedback such asa daily email update; triggering the communication of automatedmotivation, warnings and/or goal setting selected to alleviate aperceived issue; adjustment of a training programme; or automatedreferral for medical analysis.

The user's health score is also provided to a designated group ofrecipients via a communication portal. The group of recipients cancomprise selected, other, users of the system (e.g., friends and family)so that the health scores of the selected, other users can be comparedagainst the health score of still others. In alternative arrangements,all users can see other user's scores, or the group of recipients can bedefined as a specific health insurance provider so that price quotes canbe provided to insure the individual. Other possibilities are within thescope the invention.

Referring now to FIG. 5, a schematic flow diagram according to oneembodiment of the invention is described in support of an assessment ofa person (e.g., a patient or user) to provide a health score. At step1210, the user initiates the process for the collection, processing, andpublishing of health related data. For example, a person using a mobileelectronic device (e.g. a smart phone or portable computing device)selects the software application, which starts the program running onthe device processor, or the user can access an Internet based web pagein which code is executed on a remote processor and served to the user'slocal device. An identification module prompts the user to identifyhimself and authenticate his identity. This can be accomplished byprompting the user to enter a user name and password, or by other means,such as a fingerprint reader, keyfob, encryption or other mechanism toensure that identity of the user. Alternatively, if the user isaccessing the system via a personal electronic device, identificationdata can be stored in the local device memory and automatically accessedin order to automatically confirm the identity of the user.

At step 1220, a data collection module executing on the processor canprompt the user to provide health related data corresponding to a numberof parameters. In one implementation, one or more the parameters areprovided automatically by the communication subsystem 1125. Theparameters can include the user's body weight, height, age and fitnessactivity information. Such measurable medical parameters are intrinsicparameters of the user. The user's body weight and height provideinformation about the user's current state of health. The fitnessactivity information corresponds to the amount of exercise the userengages in. This information is an example of a physically activityparameter that is an extrinsic parameter of the user. For example, theuser can enter information about his or her daily fitness activities,such as the amount of time the user engaged in physical activity and thetype of physical activity. If the user went to the gym and exercised ona bicycle for thirty minutes, for example, that information is enteredinto the system. The user's fitness activity information providesinformation about the actions that are being taken by the user in orderto improve his or her fitness.

A user's body weight, height, age and fitness activity information arejust some of the parameters for which information can be collected. Thesystem can collect and process a multitude of other parameters that canbe indicative of a user's health. For example, parameters can includeblood glucose levels, blood pressure, blood chemistry data (e.g.,hormone levels, essential vitamin and mineral levels, etc.), cholesterollevels, immunization data, pulse, blood oxygen content, informationconcerning food consumed (e.g., calorie, fat, fiber, sodium content),body temperature, which are just some of a few possible, non-limitingexamples of parameters that can be collected. Various other parametersthat are indicative of a person's health that can be reliably measuredcould be used to calculate a person's health score.

The collected health parameter information is stored in a memory at step1230. At step 1240, a weighting module recalls weighting factors fromthe memory. The weighting factors can be multiplication coefficientsthat are used to increase or decrease the relative value of each healthparameters. A weighting factor is assigned to each health parameter asshown in the formulas herein. The weighting factors are used to controlthe relative values of the health parameters. Some health parameters aremore important than others in the calculation of the users health score.Accordingly, weighting factors are applied to the health parametersincrease or decrease the relative affect each factor has in thecalculation of the user's health score. For example, a user's currentbody weight can be more important than the amount of fitness activitythe user engages in. In this example, the body weight parameter would beweighted more heavily by assigning a larger weighting factor to thisparameter. At step 1205, the weighting module applies the recalledweighting factors to the collected health parameter values to provideweighted health parameter values. The weighting factor can be zero inwhich case a particular parameter has no impact on the health score. Theweighting factor can be a negative value for use in some algorithms.

After the parameters have been weighted, the user's health score iscomputed at step 1260 via a scoring module operating in the processor.The scoring module combines the weighted parameters according to analgorithm. In one implementation, the health score is the average of theuser's body mass index (BMI) health score and the user's fitness healthscore minus two times the number of years a person is younger than 95.The algorithm formula for this example is reproduced below:Health Score=((BMI Healthscore+Fitness Healthscore)/2)−2*(95−Age).

The user's BMI Healthscore is a value between 0 and 1000. The BMIHealthscore is based on the user's BMI, which is calculated based on theuser's weight and height, and how much the user's BMI deviates from whatis considered a healthy BMI. A chart or formula can be used to normalizethe user's BMI information so that dissimilar information can becombined. A target BMI value is selected which is assigned a maximumpoint value (e.g. 1000). The more the user's BMI deviates from thetarget value the fewer points are awarded. The user's FitnessHealthscore is based on the physical activity or exercise of a person.In one embodiment, it is the sum of the number of fitness hours (i.e.,the amount of time the user engaged in fitness activities) in the past365 days where each hour is linearly aged over that time so that lessrecent activity is valued less. The resulting sum is multiplied by twoand is capped at 1000. This normalized the fitness information so thatit can be combined to arrive at the health score. A target daily averageof fitness activity is selected and is awarded the maximum amount ofpoints (e.g. 1000). The user is awarded fewer points based on how muchless exercise that engage in compared to the target.

In another implementation, the health score is determined from a numberof sub-scores that are maintained in parallel beyond the BMI healthscore and the fitness health score. Likewise, the health score can bedetermined using similar information in a combinative algorithm asdiscussed above using different or no age adjustments.

Intrinsic medical parameters are processed to determine a base healthscore. Extrinsic parameters such as those from physical exercise areprocessed to determine a value that is allocated to a health pool and abonus pool. The value, preferably expressed in MET hours, associatedwith a physical activity is added to both the health pool and the bonuspool. A daily decay factor is applied to the bonus pool. Any excessdecay that cannot be accommodated by the bonus pool is then deductedfrom the health pool. The amount of decay is determined dependent on thesize of the health pool and bonus pool such that a greater effort isrequired to maintain a high health and bonus pool. The health pool valueis processed in combination with the score from the intrinsic medicalparameters in order to calculate the overall health score value. Thiscan be on a similar basis to the earlier described implementation or itcan include different parameters and weighting factors. In oneembodiment, the health pool value is a logarithm or other statisticalfunction is applied to age the respective values over time such thatonly the most recent activity is counted as being fully effective to thehealth/bonus pool. An example user interface showing the health score,the health reservoir and selected other measured parameters (as it willbe appreciated that many simply combine to make up the scores) is shownin FIGS. 6a and 6b . Various sub-scores and their trends are recorded,as is shown in FIG. 6 c.

As will be appreciated, MET hours are kcal expended divided by kilogramsof body weight, i.e. 100 kcal expended by a person of 50 kg is 2 MET h.This is “normalized energy”, making the system fair for persons of allweights. With this method, pools can be the same size for each perperson as energy is normalized for the person based on his or her bodyweight.

In one implementation, each person is assigned a health pool having acapacity of 300 MET h and a bonus pool having a capacity of 60 MET h.

When someone performs activity A, the pools are updated as follows:H=min(H+A*alpha,300)B=min(B+A*(1−alpha),60)

Where H is the health pool score, B is the bonus pool score, A is theMET h value for the activity and alpha is a system wide contestant(selected between 0 and 1) that determines the proportion in which theactivity contributes to the respective pools.

The activity is split between the health pool and the bonus pool. Anyexcess MET h activity going over the cap of any pool is discarded. Adaily decay value D is applied to the pools as follows:D=f(H,B)B=B−DIf B<0:D=D+BB=0If D<0:D=0

The decay is fully applied to the bonus pool, and if the bonus pool isempty, the remainder is applied to the health pool. In this embodiment,no pool ever goes below zero.

The system finds its equilibrium where A equals f(H, B), i.e. where theaverage daily activity matches the average daily decay. The functionf(H, B) is highly non-linear with regard to H and B. In essence, ittakes sub-linearly less effort to maintain a small pool, andsuper-linearly more effort to maintain a large pool. This is to makesure that the average person can maintain a, say, half-full health pool(150, corresponding to a score of 500), whereas it takes a massivelyhigher effort (typically only delivered by a professional enduranceathlete) to maintain a full health pool (300, corresponding to a scoreof 1000). FIG. 6f shows a simulation of the buffer pool and healthreservoir score over time assuming activity varying between 11.5 and 16MET h per day and 2 days off per week. A perfect health reservoir scoreof 1000 would require 30 MET h activity per day, as can be seen from thecurve in the top right corner of FIG. 6f

Preferably, the health score is based on a weighted combination ofhealth factor(s) and the exercise record of the person over time. Thehealth factors can be updated regularly by the user. For example, theuser can provide health related information after every event that istracked and processed by the system. The user can update after a meal,after exercising, after weighing himself, etc. In the case of recordalof an activity/event by a sensor, portable device or the like, thecaptured/calculated parameters can be automatically uploaded and used toproduce a revised health score. For example, feedback could be providedshowing the effect of exercise while a user is running, working out onexercise equipment etc. In selected embodiments, feedback can beprovided to an administrator such as a gym staff member where it isdetermined that a user is exceeding a predetermined threshold (which dueto knowledge of their health can be varied respective to their healthscore or other recorded data). Accordingly, the health related data canbe updated in a near real-time manner.

The user can also update the information twice daily, once daily, or atother periodic times. Moreover, the health score can be based on anaverage of the information over time. Fitness activity, for example, canbe averaged over a period of time (e.g. over a week, month, or year).Averaging data over time will reduce the impact to the health scorecaused by fluctuations in data. Periods in which the data wasuncharacteristically high (e.g., the person was engaging large amount offitness activity over a short period of time) or uncharacteristicallylow (e.g., person engaged in no fitness activity for a week due to anillness) does not dramatically affect the health score with averagingover time. The health related information can be stored in the memory orin a database accessible by the processor.

The stored data can also be used to predict future health scores for auser. A prediction module can analyze past data (e.g., fitness habits,eating habits, etc.) to extrapolate a predicted health score based on anassumption that the user will continue to act in a predicable manner.For example, if the data shows that a user has exercised one hour everyday for the past thirty days, the prediction module can predict, inaccordance with a prediction algorithm, that the user will continue toexercise one hour for each of the next three days. Accordingly, thescoring module can calculate a predicted health score at the end of thenext three days based on the information from the prediction module. Itcan also factor the prediction into other actions. For example, thesystem can suggest a more exerting physical activity level or challengeto someone who has a high health score but is predicted based on pastexperience to then take a number of days off for recuperation.Furthermore, the system can provide encouragement to the user tomaintain a course of activity or modify behavior. For example, thesystem can send a message to the user indicating that if the userincreased fitness activity by a certain amount of time, the health scorewould go up by a certain amount. This would allow the user set goals toimprove health.

The use of the health score allows for a relative comparison of a user'shealth with that of another person's even though each person can havevery different characteristics, which would make a direct comparisondifficult. For example, a first user (User 1) can have a very differentbody composition or engage in very different fitness activities ascompared to a second user (User 2), which makes direct comparison of therelative health of each user difficult. The use of the health scoremakes comparison of the two users possible with relative ease. In oneexample, User 1 is slightly overweight, which would tend to lower User1's health score. However, User 1 also engages is large amounts offitness activities, thereby raising the user's overall health score. Incontrast, User 2 has an ideal body weight, which would contribute to ahigh health score, but engages in very little fitness activity, therebylowering the health score. User 1 and User 2 are very different in termsof their health related parameters. Accordingly, it would be verydifficult to assess and compare the relative health of User 1 and User2. In accordance with the invention, information related to certainhealth parameters is collected from User 1 and User 2, which is used tocalculate an overall health score. A comparison of User 1's and User 2'shealth score allows for an easy assessment and comparison of the healthof these two users even though they are very different and have verydifferent habits. Therefore, the health score has significant value sothat members of a group can compare their relative health and so thatother entities (e.g., employers, health care insurers) can assess thehealth of an individual. Examples are shown in FIGS. 6d and 6e in whichtabular (current) and graphical (historic, current and predicted) scoresof different users are shown. As can be seen in FIG. 6e , Katrin isexpected to surpass the user (Andre) shortly unless he improves hislifestyle and performance. In FIG. 6d , the impact of the decayalgorithm is illustrated to show the effect on the health score of agiven user (Andre{acute over ( )}) and the people he has identified asfriends. As noted, user Andre has a current health score of 669 whichsituates this user between friends Irene (health score 670) and Helle(health score 668). The decay algorithm has acted on all of the healthscores shown in the screen shot of FIG. 6d , as indicated in the “Δ 1Day” column. More particularly, most of the friends of Andre have hadtheir health score reduced by 1 point due to the reason of “noactivity.” A lack of data input to the system is a basis for theprocessor executing the decay algorithm to determine a “no activity”status for a given user. The one day effect of this status according tothe illustrated decay algorithm for most of the users is a reduction of1 point in one day, and a reduction of 5 points over the course of aweek. As such, the decay algorithm can have a tapering, non-linearimpact on an overall health score.

As illustrated, user Andre has had moderate activity registered into amemory that is accessible to the system. As a result, the moderateactivity is processed and results in a one day change (delta) that ispositive, and a change that counteracts the influence of the decayalgorithm. Consequently, Andre will be able to observe, as well as thefriends that have access to his published health score, that heincreased his score from 667 to 669 in one day, and from 662 to itspresent value over the past seven days as a result of “moderateactivity.” Moreover, a prediction is computed using the underlyingalgorithm and an extrapolation of data based on most recent reasons(that is, received data) to increase another 5 points. On the otherhand, due to low activity, but a good diet, Helle in the same timeperiod went down 1 point in the last day and a total of 1 point in thelast 7 days and is predicted to lose another point if this ratecontinues. As such, Helle is provided with feedback by execution of thealgorithm and the outputs provided by the system which can encouragemore activity. On the other hand, Irene has no activity and a poor dietwhich results in a more aggressive change to her current health scoreand the longer-view historical and predicted impact on her score. Again,this feedback, which can be provided to users and their friends or tomembers of a group of users that have associated together for achallenge, etc. to provide individual or team motivation to engage infitness activities, eat well, and so on.

Moreover, the health score provides an indication of the relative healthof the individual without revealing the underlying data used tocalculate the health score, which can be sensitive information. Forexample, a user may be uncomfortable revealing his or her weight, age,or amount of time they spend exercising to others persons or entities.Persons can be embarrassed to share his or her weight or the fact thatthey virtually never go to the gym. However, since the health score isderived from several factors, the underlying data used to calculate thescore is kept private. This feature will facilitate the sharing of theuser's overall health because users will not have to disclose privatedata about themselves. For example, a person may be slightly overweight,but she goes to the gym often. Accordingly, that person can receive arelatively good health score. While the person may not want to discloseher weight, she can still disclose her health score which conveysinformation about her relative health without disclosing the underlyingdetails. The intrinsic medical parameters (e.g. weight, height, etc.)and the extrinsic physical activity parameters (e.g. exercise duration,frequency, intensity, etc.) are transformed into a masked compositenumerical value. The masked numerical value is published while thecollected information concerning the intrinsic medical parameters andextrinsic physical activity parameters is maintained private. Theunderlying intrinsic medical parameters and extrinsic physical activityparameters are protected so that a third party is not able to determinethose parameters based on the health score number. This is because theparameters can vary in many different ways and yet the health scorenumber could be the same (e.g., a heavier person that exercisesfrequently can have the same health score as a person that is notoverweight but does not exercise as frequently). Thus, having the healthscore alone does not reveal a person's health related parameters.Accordingly, the underlying health statistics are masked, yet the healthscore can be used as a benchmark to indicate a person's health for avariety of applications.

After the scoring module calculates the health score of the user, atstep 1270, a publication module recalls from the memory the designatedgroup of recipients that are authorized to receive the health score. Thegroup of recipients can be friends or family of the user, sportsteammates, employers, insurers, etc. At step 1280, the publicationmodule causes the health score to be published to the designated group.In the case that the information is to be published to a group offriends, the information can be published to a social networkinginternet based portal in which access to the data is limited to thosedesignated members of the group.

The health parameter data and health scores can be stored over time, ina memory or other database, so that a user can track his or herprogress. Charts can be generated in order for a user to track progressand analyze where there can be improvement in behavior. Moreover, trendscan be identified that can lead to the diagnosis of medical problemsand/or eating habits. For example, if a person's weight is continuing toincrease despite the same or increased amount of fitness activity, thesystem can trigger or suggest that they seek certain medical tests (e.g.a thyroid test, pregnancy test) to determine the cause of the weightgain.

In certain implementations, the majority of the system is hostedremotely from the user and the user accesses the system via a local userinterface device. For example the system can be internet based and theuser interacts with a local user interface device (e.g., personalcomputer or mobile electronic device) that is connected to the internet(e.g., via a wire/wireless communication network) in order tocommunicate data with the internet based system. The user uses the localinterface device to access the internet based system in which the memoryand software modules are operating remotely and communicating over theinternet with the local device. The local device is used to communicatedata to the remote processor and memory, in which the data is remotelystored, processed, transformed into a health score, and then provided tothe designated groups via a restricted access internet portal.Alternatively, the system can be primarily implemented via a localdevice in which the data is locally stored, processed, and transformedinto a health score, which is then communicated to a data sharing portalfor remote publication to the designated groups.

The system can be implemented in the form of a social networkingframework that is executed by software modules stored in memory andoperating on processors. The system can be implemented as a separate,stand alone “health themed” social networking system or as anapplication that is integrated with an already existing socialnetworking system (e.g., Facebook, MySpace, etc.). The user is providedwith a homepage in which the user can enter information, manage whichinformation is published to designated groups, and manage the membershipof the designated groups. The homepage includes prompts to the user toenter the health related information for the each of the variousparameters. The user can enter his or her weight, date of birth, height,fitness activity, and other health related information. The user'shealth score is then calculated. The health score is shared with otherusers that are designated as part of a group permitted to have access tothat information. Moreover, the user can view the health scoreinformation of others in the group. Accordingly, the user is able tocompare his or her overall health with the health of others in thegroup. Comparison of health scores with others in the group can providemotivation to the individuals in the group to compete to improve theirhealth scores. Other information, such as health tips, medical news,drug information, local fitness events, health services, advertising anddiscounts for medical and/or fitness related supplies and service,issuance of fitness challenges or health related goals, for example, canbe provided via the homepage.

In further implementations, the health score can be a composite of aMetric Health Model score and a Quality of Life Model score. Combiningscores from multiple models provides a more holistic assessment of auser's health. The Metric Health Model score assesses a user's healthbased on relatively easily quantifiable parameters (e.g., age, sex,weight, etc.) and compares those numbers to acceptable populations studymodels. The Quality of Life Model score focus on a user's self-assessedquality of life measure based on responses to a questionnaire (i.e., thesystem takes into account the user's own assessment of their health andlife quality) because there are correlations between how an individual“feels” about his or her life and a realistic measure of health. Acombination of the scores from these two models, which will be discussedin more detail below, provides a more inclusive and holistic assessmentof health.

The Metric Health Model score is based on medical parameter informationof a user, such as their medical history information, attributes,physiological metrics, and lifestyle information to the system. Forexample, the system can provide the user a questionnaire to promptresponses (yes/no, multiple choice, numerical input, etc.) or providethe user with form fields to complete. Medical history information caninclude the user's history of medical conditions and/or the prevalenceof medical conditions in the user's family. Examples of medical historyinformation can include information such as whether the user hasdiabetes, has direct family members with diabetes, whether the user orfamily members have a history of heart attack, angina, stroke, orTransient Ischemic Attack, a history of atrial fibrillation or irregularheartbeat, whether the user or family members have high blood pressurerequiring treatment, whether the user or family members havehypothyroidism, rheumatoid arthritis, chronic kidney disease, liverfailure, left ventricular hypertrophy, congestive heart failure, regularuse of steroid tablets, etc.

The Metric Health Model score can also be based on user attributes. Theattributes can include age, sex, ethnicity, height, weight, waist size,etc. In addition, Metric Health Model score can be based onphysiological metrics of the user. Examples of physiological metrics caninclude systolic blood pressure, total serum cholesterol, high-densitylipoprotein (HDL), low-density lipoprotein (LDL), triglycerides,high-sensitivity C-reactive protein, fasting blood glucose, etc. Theinputs can also include parameters of a user's lifestyle. For example,lifestyle parameters can include inputs about whether the user is asmoker (ever smoked, currently smokes, level of smoking, etc.), how muchexercise the user performs (frequency, intensity, type, etc.), type ofdiet (vegetarian, high-protein diet, low-fat diet, high-fiber diet,fast-food, restaurant, home cooking, processed and pre-packaged foods,size of meals, frequency of meals, etc.). These are some of the examplesof parameters that can be used to compare the user's health indicatorsto survival probability models in order to calculate the user's MetricHealth Model score.

Survival probability prediction models can be used to predict theprobability that an individual will suffer one or more serious healthevents over a given time period. Mathematical models can estimate thisprobability from observed population characteristics. Usingobservational data on a set of unambiguous severe health events, such asstroke or cardiac infarction, models can generate the probability thatan individual will suffer one such event over a given time horizon froma set of measurements of markers, or predictors, for the event (e.g.,information about a user's medical history, attributes, physiologicalmetrics, lifestyle, etc. as described above). The time distance betweenthe moment the predictors are measured, and the target event that isgenerated by such models, is referred to as a survival probability,although it must be understood that not all target events considered arenecessarily fatal.

These survival probability models are typically derived from the studyof generally large populations that are followed for a considerablelength of time, usually more than ten years, and the statisticscollected on the observation of the target event(s) are summarized andgeneralized using mathematical methods. There are a number of suchmodels that exist that have been extensively validated and maintainedand improved by periodically updating the model's parameters using newdata. Examples of existing models can include a subset of modelsdeveloped and maintained by the Framingham Heart Study (an extensivebibliography on results obtained from the Framingham Heart study isavailable at www.framinghamheartstudy.org/biblio), a subset of themodels developed and maintained by the University of Nottingham and theQResearch Organization (see, for example, J Hippisley-Cox et al,Predicting cardiovascular risk in England and Wales: prospectivederivation and validation of QRISK2, BMJ 336: 1475 doi:10.1136/bmj.39609.449676.25 (Published 23 Jun. 2008)), the ASSIGN modeldeveloped by the University of Dundee (see, for example, HTunstall-Pedoe et al, Comparison of the prediction by 27 differentfactors of coronary heart disease and death in men and women of theScottish heart health study: cohort study; BMJ 1998; 316:1881), theReynolds model (see, for example, P M Ridker et al, C-Reactive Proteinand Parental History Improve Global Cardiovascular Risk Prediction: TheReynolds Risk Score for Men, Circulation 2008; 118; 2243-2251, andDevelopment and Validation of Improved Algorithms for the Assessment ofGlobal Cardiovascular Risk in Women, JAMA, Feb. 14, 2007—Vol 297, No.6), the PROCAM model from the Munster Heart Study (see, for example,Simple Scoring Scheme for Calculating the Risk of Acute Coronary EventsBased on the 10-Year Follow-Up of the Prospective Cardiovascular Munster(PROCAM) Study, Circulation. 2002; 105:310-315), and the SCORE model(see, for example, R M Conroy et al, Estimation of ten-year risk offatal cardiovascular disease in Europe: the SCORE project, EuropeanHeart Journal (2003) 24, 987-1003). Other constituent risk models canalso be included. In addition, precursor models can also be used.Precursor models predict the development of a first condition (e.g. highblood pressure), wherein the development of the first condition ispredictive of developing a second condition (e.g., heart disease). Thereare models that generate estimates of the probability of developingdiabetes or high blood pressure, for example, which are two importantpredictors of mortality. A high probability of developing diabetes infive years, for instance, will independently increase the probability ofa serious cardiovascular event within the next ten years. Several suchprecursor models can be included and the inclusion of precursor modelsleads to more accurate metric risk models, but more importantly, alsoleads to the possible reduction of the risk of mortality throughwell-defined modifiable aspects of lifestyle.

Traditional survival probability models have certain inherentlimitations that result from the procedures used to build them. Inderiving such models, researchers compromise between accuracy andusability. It is difficult for an inductive model, meaning a modelderived directly from data, to include all possible predictors. This isin part because not all relevant predictors of a particular event areknown, but also in part because some known predictors may be difficultor expensive to measure. In fact, several well-known markers of risk,such as genetic factors, are often not included in such models.Therefore, several potential and known predictive metrics can beexcluded as covariates when deriving a given survival model.

Survival probability models are built using data collected from a givenpopulation, and thus summarize and generalize morbidity and mortalitycharacteristics of the studied population. However, such a model mightbe at variance when compared with risk estimates derived from otherpopulations. When a given model is used in a population that differsfrom the one where the model was built it often underestimates oroverestimates a particular risk because only a few predictors are oftenconsidered, and because other relevant predictors that may not beincluded in the model might very well differ between two populations.

Given the above discussion, together with basic probabilistic logic, ajudicious combination of models derived for several differentpopulations will generate a better view of the risks that an individualpicked at random is exposed to, and will thus be more robust inestimating risks for the population at large. Furthermore, based onmathematical grounds, under very general assumptions, certain modelcombination methods, referred to as predictor boosting, can improve theaccuracy of the constituent models. In fact, boosting a set of models,when done correctly, will produce a model with accuracy that is, atworst, equal to that of the most accurate model in the boosted set.

Accordingly, the Metric Health Model score can be calculated bycomparing the user's medical parameter information to the survivalprobability models. A score, preferably in the range of 0 to 1000, withthe top end signifying perfect health and the low side signifying poorhealth, can be derived following a two-step process. First, an overallsurvival probability is obtained from a combination of the survivalprobabilities generated by individual survival probability models, asdescribed above. Second, the resulting survival probability, which is anumber in the 0 to 1 range, is transformed using a parametric nonlinearmapping function into the 0 to 1000 range. The parametric mappingfunction is tuned so that it is linear, with a high slope, in the regionof typical survival probabilities, and asymptotically slopes off in thelow and high ends of the survival probability distribution. The mappingfunction is designed to be strongly reactive to changes in the typicalsurvival probability region.

As discussed above, the health score can be composed of the MetricHealth Model score, and also the Quality of Life Model score. TheQuality of Life Model score is based on a user's answers to a set ofquestionnaires. The system can include several different questionnaireswith some questions in common. The type of questionnaires and the typeof questions therein presented to the user can be tailored based on auser's health parameters (i.e., user age, other data in the user'smedical history, etc.). A specific questionnaire can be generated andpresented to the user on the basis of information on the user that isknown to the system. The questions can be presented with an appropriatemultiple choice response that the user can check/tick on a form, with nofree-form text is entered by the user to permit easier assessment of theresponses. Other types of responses are possible (e.g., rating how truea statement is to the user 1-10). The following list provides severalsample questions (in no particular order) on a number of health-relatedquality of life topics that can be used in a system questionnaire.

Sample Questions:

-   -   How do you rate your quality of life?    -   How do you rate your overall health?    -   How much do you enjoy life?    -   To what extent do you feel your life to be meaningful?    -   How well are you able to concentrate?    -   How safe do you feel in your daily life?    -   How healthy is your physical environment?    -   Are you satisfied with your appearance?    -   To what extent do you have the opportunity for leisure        activities?    -   How much do you need any medical treatment to function in your        daily life?    -   For how long have your activities been limited because of your        major impairment or health problem?    -   Do you need help in handling your personal care needs because of        health problems?    -   Do you need help in handling your routine needs because of        health problems?    -   Are you limited in any way in any activities because of any        major impairment or health problem?    -   How true or false is each of the following statements for you?:        -   I seem to get sick a little easier than other people        -   I am as healthy as anybody I know        -   I expect my health to get worse        -   My health is excellent    -   Do you suffer from any of the following major impairment or        health problem that limits your activities?:        -   Arthritis or rheumatism        -   Back or neck problem        -   Cancer        -   Depression, anxiety or any emotional problem        -   Vision problem        -   Fractures, bone/joint injury        -   Hearing problem        -   Breathing problem        -   Walking problem        -   Other impairment or problem    -   During the past 30 days, for about how many days:        -   was your physical health not good?        -   did pain make it hard for you to do your usual activities,            such as self-care, work, or recreation?        -   have you felt sad, blue or depressed?        -   have you felt worried, tense or anxious?        -   have you felt you did not get enough rest or sleep?        -   have you felt very healthy and full of energy?        -   have you been a very nervous person?        -   have you felt so down in the dumps that nothing could cheer            you up?        -   have you felt calm and peaceful?        -   did you have a lot of energy?        -   have you felt downhearted and blue?        -   did you feel worn out?        -   have you been a happy person?        -   did you feel tired?        -   How satisfied are you with:        -   your sleep?        -   your ability to perform your daily living activities?        -   your capacity for work?        -   yourself?        -   your personal relationships?        -   your sex life?        -   the support you get from your friends?        -   the conditions of your living place?        -   your access to health services?        -   your transport?    -   Are you limited in any of the following activities because of        your health?:        -   Vigorous activities, such as running, lifting heavy objects,            participating in strenuous sports        -   Moderate activities, such as moving a table, pushing a            vacuum cleaner, bowling, or playing golf        -   Lifting or carrying groceries        -   Climbing several flights of stairs        -   Climbing one flight of stairs        -   Bending, kneeling or stooping        -   Walking more than a mile        -   Walking several blocks        -   Walking one block        -   Bathing or dressing yourself

This list above is just a sample of questions that can be presented to auser. The user's responses to the questions are assigned a value. Forexample, each of the multiple choice responses can be assigned aparticular value, and all of the user's response can be tallied togenerate a score. In addition, different questions and differentresponses can be weighted differently since some questions, or theseverity of the response, can have a greater predictor of the user'shealth. The system can also assign a value based on the user's responseto a combination of questions, because certain combinations can be morepredictive of health. Accordingly, by assessing the user's responses tothe questionnaire a Quality of Life Model score can be derived.Preferably, the Quality of Life Model score is a numerical value in therange of 0 to 1000.

The health score is computed as a weighted average of the Metric HeathModel score and the Quality of Life Model score. The health score canpresented to the user. The health score can be presented as a numericalvalue, as a graphic value (i.e. as a meter, bar, or slider), or acombination of the both, for example. Referring to FIG. 6A, the healthscore is presented by a combination of a numerical score 1302 and aslider 1304. The slider can also be color-coded to indicate the score.The position of the slider bar 1306 indicates the user's score.

One advantage of the presentation of the health score is that it is notnecessary to present the survival probabilities and raw metrics to theuser. Instead, users are presented with a standardized score.Preferably, this is true of the overall Metric Heath Model and Qualityof Life scores, but it is also true of the relevant model inputs. Thisis done mainly to standardize all output, in the sense that users do notneed to know whether high values of a particular input variable are goodor bad; in all cases, high scores of any input value lead to higheroverall health score values, and low input variable scores lead to loweroverall values of the health score.

Furthermore, another advantage of the standardized health scores is thatusers can compare health scores against other users. This allows forcomparative bench marking (against friends, co-workers, etc.) with otherusers. Such score comparisons can be a part of a game component of thesystem in which the user competes against other users, as will bedescribed in more detail below. Gaming aspects of the system can be usedmotivate the user of the health score system, such as a comparison ofscores among user-selected groups, comparison of individual scoreswithin configurable subpopulation distributions, time-tracking ofscores, and setting of goals, among others. Referring to FIG. 6B, theusers numerical score 1302 and graphical score 1306 are presented incombination with a range of scores 1308 from a group (e.g. the world) sothat the user can see how his/her score compares to others in the group.The gaming incentives can be extended by users to allow the comparisonof health scores between users that can differ substantially in one ormore of several specific input parameters, such as age, weight, andprior risk conditions. The system highlights improvements in modifiableuser metrics, particularly in lifestyle components, and theseimprovements in score provide user incentives. This allows faircompetition between users of a father and his children, for example, viathe health score. In one aspect, the health score provides equalizationbetween users of different characteristics and is thus similar to thatof a handicap in some sports. Referring to FIG. 6C, the user's score1306 is compared to the scores 1310 a-e of a user selected group offriends. Referring to FIG. 6D, the user's individual medical parameters(e.g., the medical data provided as a part the Metric Health Model) canbe compared against other users graphically without revealing theunderlying actual values. The high-density lipoprotein (HDL) level,low-density lipoprotein (LDL) level, systolic blood pressure (sBP),diastolic blood pressure (dBP), body mass index (BMI), and fasting bloodglucose (fBG) level are shown on a graph 1312. The user's scores arerepresented by a line 1314, the user's friends scores are eachrepresented by a different dot 1316, and a distribution block 1318 for alarger population group (e.g., Switzerland) is also shown. Thus, theuser can compare their individual parameters to a group of friends andthe average for a large population group.

Users can input data into the system at the time of an event (i.e.,exercise event, food consumption, blood pressure measurement, etc.), andsee the resulting update of their health score in real-time. The systemcan include drill-down capabilities, allowing users to see the varioushealth score component scores, including tracking over time and thecorresponding trends in all scores; it also includes the setting ofgoals on the various scores.

As an example of use of the system, upon registration with the system(e.g., the initial use of the system), a user is prompted to providemedical history data. The user is also prompted to respond to a completeQuality of Life questionnaire selected by the system for the given userbased on the medical history and user parameters supplied by the user.After the registration, at periodic intervals, users are presented withshort subsets (3 to 5 questions) of their custom Quality of Lifequestionnaire to keep their responses up to date and track changes.Users can enter inputs for Metric Health Model at any time, and thesystem prompts the user for values that have not been updated for sometime. Inputs to the Metric Health Model can be acquired automatically bythe system by accessing a series of digital measuring devices that havebeen integrated into the system (e.g., the system can comprise a mobileelectronic communication device, for example, a smart phone, that is inwireless communication with a measurement device, such as a bloodglucose monitor, so that parameters can be measured, transmitted, andstored by the system). These can include weight, blood glucose, physicalactivity, and other parameters. Several or multifunction digitalmeasurement devices can be included in the system. In the case ofmedical parameters that are more difficult to obtain with a homemeasuring device, such as serum lipid concentration levels, users areonly prompted to provide the relevant data once per (system) configuredtime period (e.g., annually and coinciding with a user's routinephysical medical examination).

To avoid false scores, the system can include several algorithms toassess the validity of user inputs. The validation methods can rangefrom ones based on outlier detection to ones based on multidimensionallikelihood estimators. When the system detects a possible bad inputvalue it flags it and prompts the user to either confirm the value or toenter a new one.

The system can generate all its scores, even when missing one or moreinputs. It does this by imputing the missing value or values using avariety of statistical methods that range from ones based on globalpopulation statistics, to methods based on the use of more complicatedstatistical models that are built into the platform. However, wheneverinputs include imputed values, the system clearly flags all affectedscores, and periodically alerts the user to provide the missing data.The system can also allow for score simulation, in which the user cantemporarily adjust his or her parameters so that a user can see howchanging certain parameters (e.g., losing weight) affects the user'sscore.

The system can also provide recommendations to the users to take certainactions that can improve the user's health score. These recommendationscan be very specific when any input variable is in its danger zone, andmore generic when any input variable is outside its optimal range.

As discussed above, the health score can be used as a part of a game orcompetition aspect of the system. The game aspect increases the funelement of the system for the user and increases the user's affinity tocontinue to use the system. The game aspect can come in the form ofobtaining higher levels based on achievements, competing against others(e.g., in a league), and/or completing challenges. The “level” is anoverall indication of progress. The level can be monotonicallyincreasing and will increase by gaining activity points. Activity pointscan be gained from performing numerous activities, such as time spentperforming fitness activities (e.g., exercising), improving one's healthscore, improving one's BMI, taking part in discussions on the system(e.g., the system can be a web-based social networking platform anddiscussions or “classes” can be offered to teach fitness skills). Auser's level can be displayed on a user's profile and in discussionposts so that other users can see each other's level. A user's levelstatus can also provide access to specific items, system features andfunctionality, or rewards (e.g., branded apparel).

Users can also compete within leagues in the system. The leagues arecomposed of groups of users and the users within the league can competeagainst each other (as part of a team or individually). The leagues cancompete for a limited time (e.g., monthly) and the leagues can bedesignated based on the level of the users (using the level of the useras discussed above), the type of activity being performed in the league,and the geographic region of the users. For example, one particularleague can be the “bronze” (level) “mountain biking” (sport) “GreaterZurich Area” (region) league and a user's success in this league ismeasured by the distance traveled and elevation climbed (measuredquantity). Thus, bronze level users living in the Greater Zurich Areathat are interested in mountain biking can compete in this league.Limiting the leagues to a particular region gives the users something torelate with and all the users can share in common, and further allowsusers to meet face to face (e.g., for group exercise events). One issuewith one big international league is that such a league may seemanonymous, crowded and meaningless to some users (members competingagainst members residing on completely different continents withlanguage barriers can inhibit group or team mentalities). Limitingleagues to particular level brackets equalizes the playing field forusers of particular skill levels. Quantities to be measured to determineperformance in the league can include distance (horizontal, vertical)and duration of fitness activity performed, for example. Users can alsoform teams within the leagues. Team leagues work in the same way as theleagues outlined above, however the ranking is based on the team'soverall performance. Teams increase the communal aspect of participationin the activity. Teams can be fixed in size (e.g., 2, 3, 5, 10, etc.users).

Users can also be presented by the system with challenges to complete.The challenges can set forth a time period for completion of a goal. Thegoals of the challenge can be, for example, healthscore improvement(normalized), completion of sport-related activity parameters (e.g.,total distance, total climbing, etc.), or completion of a sport-relatedactivity within a specific period of time (e.g., complete six minutemile on a specific route). The challenge can be public and any user canparticipate, or limited to a group (e.g. friends, co-workers, socialgroup, etc.) As an example, a particular public challenge can be aninline skating challenge in New York City for the route around theCentral Park Loop measuring the time taken for completion. Publicchallenges can be generated automatically by the system or by systemadministrators. Group challenges can be issued by group members.Challenges provide strong appointment dynamics, encouraging users tocommit to exercise. Challenges (typically) have a lower time commitmentthan leagues. Route selection can be automated with the community. In afirst step, the community can publish routes on the system platform(e.g., a social networking type website); in a second step, the systemselects popular routes (i.e. routes with high user activity) as weeklychallenges. Route validation is done by GPS tracking. Challenges can besafety screened to prevent the promotion of unduly risky challengeactivities, such mountain biking dangerous downhill routes.

The league and challenge systems provide opportunities to grantachievements. Achievement status indications can be collected anddisplayed on a user's profile. Achievements are much like a trophy,medal, or award provided to the user for completing challenges and/orsucceeding in a league activity. Many different achievements arepossible, such as related to the number of friends the user has on thesystem (community participation), achievements related to the time,intensity, and number of fitness activities engaged in (level of fitnessparticipation), achievements related to specific sport activities (e.g.,distance run), the frequency a user measures their parameters (e.g.,weight) in order to keep the system up to date, the amount of weightlost, or the ability to maintain ones BMI, for example. The followinglist is an exemplary set of achievements and the activities required toearn the achievements:

Exemplary Achievement List:

-   -   Challenger: Take part in a public challenge.    -   Accomplished Challenger: Take part in 10 public challenges.    -   Champion: Win a challenge.    -   Multi-sport Champion: Win a public challenge in two different        sports.    -   International Challenger: Take part in a public challenge in two        different countries.    -   International Champion: Win a public challenge in two different        countries.    -   World Wide Challenger: Take part in a public challenge on each        continent.    -   World Wide Champion: Win a public challenge on each continent.

Other aspects of the challenge and league systems are that the systemscan be tied to marketing opportunities. For example, marketers cansponsor prizes for the winners of a challenge. The prize can be relatedto the challenge (e.g., gift certificate to health food score for winnerof weight loss challenge). In addition, challenge routes can be selectedto direct users to certain areas to increase tourism or to begin/end atselected destinations (e.g., bike challenge begins in front of sportsequipment store).

One advantage of the system is that it provides users and groups ofusers with benchmarking capabilities. It allows other groups, such asinsurance carriers or employers, to assess the relative health ofindividuals in order to determine the health related risks of eachindividual. Accordingly, users can compare themselves against others inorder to assess their comparative health level amongst a group offriends. Insurance carriers can use the health score information to setpremiums for an individual or a group of individuals (e.g. employees ofa company). In other implementations, health scores can be provided fora group based on the health scores of the individuals in the group. Forexample, a health score can be calculated for a company based on itsemployees so that an insurance carrier can set premiums based on thehealth score of the company compared to other companies. In furtherapplications, the health score can be used for assessing the health ofprofessional athletes to determine the athlete's real market value. Vastamounts of money and resources are invested in athletes at all levels inprofessional sports. A large component of the decision about investingin an athlete is based on the past performance of the athlete. Otherfactors can include past physical injury history and the athletesubmitting to a physical exam before the deal is complete. The healthscore can be used as an indicator of the athlete's current health andused as a predictor of the athletes future performance. If the athlete'shealth score were low, this can indicate that the athlete is more proneto suffering an injury or that physical performance will diminish.Accordingly, the health score can form a basis for a decision on whetherto invest in an athlete. The health scores could also be used as apredictor of the outcome of a particular game played between two teams.For example, the health scores of the individual team members can beaggregated in order to provide a team health score. A comparison of theteam health scores can be indicative of the likely outcome of the gamebetween the two teams (e.g., the team with highest health score may bemore likely to win). Such information can be used in gaming contextssuch as fantasy sports teams, or in order to set odds for sportsbetting. The health score could be used for club competitions (e.g.,group health improvement competitions, advertising based on a person'shealth score, gaming, tv/internet, etc.

Thus, in a broad aspect, a method according to the invention can beunderstood as collecting health related information, processing theinformation into a health score, and publishing the health score isprovided. A system for implementing the method can include a computerhaving a processor, memory, and code modules executing in the processorfor the collection, processing, and publishing of the information.Information concerning a plurality of health related parameters of auser is collected, particularly, both intrinsic values concerning themeasurable, medical parameters of at least one natural person, and theextrinsic values concerning the activities of each such person(s) suchas the exercise performed, the type of job the person has and the amountof physical work associated with the job (e.g. sedentary, desk jobversus active, manual labor intensive job) and/or the calories/foodconsumed. Weighting factors are applied to the health related parameterin order control the relative affect each parameter has on the user'scalculated health score. The health score is computed using theprocessor by combining the weighted parameters in accordance with analgorithm. The health score is published to a designated group via aportal. In one implementation, the portal is an internet basedinformation sharing forum.

As such, the invention can be characterized by the following points in amethod for collecting and presenting health related data:

-   -   collecting information concerning a plurality of health related        parameters of a user;    -   storing the collected information in a memory;    -   storing weighting factors in the memory;    -   processing the collected information by executing code in a        processor that configures the processor to apply the weighting        factors to the health related parameters;    -   computing a health score using the processor by combining the        weighted parameters in accordance with an algorithm; and    -   providing the health score to a designated group via a portal.

The methods described herein have been described in connection with flowdiagrams that facilitate a description of the principal processes;however, certain blocks can be invoked in an arbitrary order, such aswhen the events drive the program flow such as in an object-orientedprogram implementation. Accordingly, the flow diagrams are to beunderstood as example flows such that the blocks can be invoked in adifferent order than as illustrated.

While the invention has been described in connection with certainembodiments thereof, the invention is not limited to the describedembodiments but rather is more broadly defined by the recitations in anyclaims that follow and equivalents thereof.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges can be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of thepresent invention, which is set forth in the following claims.

We claim:
 1. A computer-implemented method for managing health-relateddata, comprising the steps of: receiving, via at least one computingdevice, user profile information representing details of physiology,health, medical history, and exercise history of a user; receiving, fromat least one computing device operated by the user, informationrepresenting an exercise event; capturing, by at least one computingdevice, details about the exercise event; determining, by the at leastone computing device, that an interval of time elapsed during theexercise event; receiving, by the at least one computing device afterthe interval of time elapsed, position information representing aposition of the user during the exercise event at a particular time;extracting, by the at least one computing device, from the captureddetails about the exercise event, information representing exercise theuser is engaged in during the exercise event at the particular time;determining, by the at least one computing device, the user's energyexpenditure during the exercise event by: calculating a distancerepresenting a difference between two identified positions associatedwith the exercise event; calculating a timeframe representing adifference between two identified times associated with the exerciseevent; and applying a respective algorithm that corresponds to the typeof exercise during the timeframe of the exercise event; storing thedetermined user's energy expenditure in a memory; updating the userprofile information with the user's energy expenditure in the memory;and providing the updated profile information to the user through aportal.
 2. The method of claim 1, wherein determining, by the at leastone computing device, the user's energy expenditure during the exerciseevent further is by: determining topographic information representing atopography associated with the exercise event.
 3. The method of claim 2,wherein applying the respective algorithm further comprises: setting aparameter value associated with topography, distance traveled, the stepof extracting text from a limited area of the image as dictated by thebrand of the exercise machine.
 4. The method of claim 1, furthercomprising the steps of: receiving into the memory a plurality ofintrinsic medical parameters; processing, by the at least one computingdevice, the plurality of intrinsic medical parameters by applyingweighting factors to the intrinsic medical parameters; transforming, bythe at least one computing device, the processed intrinsic medicalparameters into a masked composite numerical value by combining theweighted parameters in accordance with an algorithm; and automaticallypublishing the masked composite numerical value to a designated groupvia the portal, using code executing in the processor and free of humanintervention, while maintaining the collected information concerning theintrinsic medical parameters and the details about the exercise eventprivate.
 5. The method of claim 4, wherein the weighting factors includea decay component in dependence on at least one factor associated withthe user.
 6. The method of claim 5, wherein the factor associated withthe user is an age or an age range of the user such that the decaycomponent reduces the relative weight for a first user of a first age orage range differently than a second user of a second age or age range.7. The method of claim 1, wherein determining the user's energyexpenditure is performed substantially automatically upon capturing thedetails about the exercise event.
 8. The method of claim 1, whereindetermining the user's energy expenditure further comprises: obtaining,by the at least one computing device, a measure of calories expended inthe exercise event into the memory; and transforming, by the at leastone computing device, the measured calories into a metabolic equivalent,MET, value by dividing by the user's body weight; dividing, by the atleast one processor, the MET value between a health pool and a bonuspool, wherein the bonus pool has a predetermined size and any dividedMET value exceeding the bonus pool size is allocated to the health pool;and applying a daily decay component to the bonus pool.
 9. The method ofclaim 1, wherein the details about the exercise event includeenvironmental data.
 10. The method of claim 9, wherein the environmentaldata include temperature data, wind speed data, wind direction data, andhumidity data.
 11. A computer-implemented system for managinghealth-related data, the system comprising: at least one computingdevice, configured with at least one processor and non-transitoryprocessor readable memory storing instructions that, when executed bythe at least one processor, configures the at least one processor to:receive user profile information representing details of physiology,health, medical history, and exercise history of a user; receive, fromat least one computing device operated by the user, informationrepresenting an exercise event; capture, via at least one device,details about the exercise event; determine that an interval of timeelapsed during the exercise event; receive, after the interval of timeelapsed, position information representing a position of the user duringthe exercise event at a particular time; extract from the captureddetails about the exercise event, information representing exercise theuser is engaged in during the exercise event at the particular time;determine the user's energy expenditure during the exercise event by:calculating a distance representing a difference between two identifiedpositions associated with the exercise event; calculating a timeframerepresenting a difference between two identified times associated withthe exercise event; and applying a respective algorithm that correspondsto the type of exercise during the timeframe of the exercise event;store the determined user's energy expenditure; update the user profileinformation with the user's energy expenditure; and provide the updatedprofile information to at least one computing device through a portal.